--[[
  table.unpack()函数，将数组形式的table拆开。
  第一个参数就是要拆的table，
  第二个参数是起始元素的下标，默认为1，
  第三个参数是结束元素的下标，默认为table的长度。
]] -- __call table名字做为函数名字的形式被调用的时候，会调用__call函数
local tb = {1, 2, 3, 4, 5}
setmetatable(tb, {
    __call = function(t, ...)
        for k, v in pairs({...}) do table.insert(t, v) end
        return table.unpack(t)
    end
})
print(tb("a", "b", "c"))

--[[
  1	2	3	4	5	a	b	c
]]
